#ifndef DONORLIST_H
#define DONORLIST_H

#include "DonorType.h"

#include "iostream"
#include "set"

using namespace std;

class DonorList
{
public:
	DonorList();
    DonorList(const DonorList &anotherDonorList);

	void addDonor(
	        const string &newFirst,
	        const string &newLast,
		    int newMembershipNo,
		    double donation);

	double getNoOfDonors() const;
	double getTotalDonations() const;
	double getHighestDonation() const;

	bool isEmpty() const;
	bool searchID(int membershipNo) const;

	void deleteDonor(int membershipNo);

	void printAllDonors() const;
	void printAllDonations() const;

	void clearList();
    ~DonorList();

    DonorList(DonorList &);
    DonorList& operator=(const DonorList&);

private:
    set<DonorType> *donorList;
};

#endif